home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
- Notes on Rebuilding XFree86/OS2 from Scratch
-
- Holger Veit
-
- Last modified 17 May 1997
-
-
-
- 1. Preface
-
- X11 and XFree86 were initially developed on Unix-based systems. Usually Unix
- systems provide a rich number of tools and utilities to get certain things
- done. Under OS/2, these tools are not installed, but ports are available which
- are sometimes functionally equivalent to Unix utilities with the same name, but
- also differ sometimes in a subtle way. This guide will give you hints if you
- intend to rebuild the system from scratch under OS/2.
-
- Please also read README.OS2 for end-user information, and set at least the
- environment variables described there.
-
- At the current time, the most recent version available is XFree86-3.3. This is
- a full and unrestricted version which comes with complete source code. 3.3 is
- an intermediate version which was released because the last beta version (3.2A)
- was about to expire and the new 4.0 version was not completely finished in
- time. 3.3 is the last ``classical'' version which has separate Xservers for
- different video cards.
-
- If you want to join the XFree86 developer team, e.g. to add support for certain
- hardware, please send a request to BOD@XFree86.org. Please think about such a
- step carefully before, though, since much work is involved. Please use the
- XFree86-3.3 source code as a test example how to compile the system. The abil-
- ity to manage that is a basic requirement for becoming a developer.
-
-
- 2. Tools required
-
- I have tried to reduce the number of external tools, but when looking back it
- seems I were not very successful. At least I managed to get everything working
- with the native CMD.EXE shell only. However, there is still plenty of software
- required. Most of this software is available from hobbes.nmsu.edu or
- ftp.leo.org via anonymous FTP. The following shopping list shows what you will
- need:
-
- o gcc EMX/gcc emx 0.9C patch2 or later
-
- o gzip GNU zip/unzip
-
- o tar GNU tar
-
- o patch Larry Wall's patch utility (attention: incompatible tool with
- same name in OS/2)
-
-
-
- Notes on Rebuilding XFree86/OS2 from Scratch
-
-
-
-
-
- Notes on Rebuilding XFree86/OS2 from Scratch
-
-
-
- o install BSD/GNU install
-
- o rm,mv,cp GNU file utilities
-
- o tee,.. GNU shell utilities
-
- o groff GNU nroff/troff
-
- o sed GNU sed stream editor
-
- o grep GNU grep
-
- o gawk GNU awk
-
- o make GNU make 3.71/3.72 (use the one coming with XFree86!)
-
- o flex GNU flex
-
- o bison GNU bison
-
- o find GNU find (attention: incompatible tool with the same name in OS/2)
-
- If there is no version number given, any new version will do. Particularly
- critical is only EMX/gcc and GNU make. Note that the second GCC implementation
- which might still be available from some archives is NOT compatible.
-
- Furthermore, you need the XFree86 sources. These are available from the common
- XFree86 repositories. Look into a directory which is often named
- /pub/XFree86/3.3/source.
-
-
- 3. Compiling and Installing
-
- You need about 300MB of free HPFS space for the whole system. This does not
- include space for the postscript and troff documentation files. I have never
- installed them. Nor did I install the test subtree.
-
- 1. Install all the above utilities. Refer to the corresponding documenta-
- tion. Verify that everything works well, particularly EMX.
-
- 2. It is a good idea to use the same or a similar structure I have. I have
- made a directory \x11 on the partition for compiling and have put every-
- thing below this tree. I found that a clean tree occupies less than the
- half space of the disk, this gives me the opportunity to rename this tree
- to \x11old and copy a new version to the same disk to produce diffs. Last
- time the complete tree was arranged under the root directory xc, this
- would become \x11\xc then.
-
- 3. To unpack the files you would usually execute the command
-
- gzip -dc file.tar.gz | tar xvf -
-
-
- in the \x11 directory. At the end you will usually see the irritating,
-
-
-
-
-
-
-
-
- Notes on Rebuilding XFree86/OS2 from Scratch
-
-
-
- but non-fatal message "gzip: stdout Broken pipe". Ignore it.
-
- 4. After that, is is likely necessary to apply some patches, either from the
- XConsortium or from the XFree86 project. Before you do this, enter
-
- chmod -R a+rw \x11\xc
-
-
-
- to make certain files in the tree writable.
-
- 5. There should be a file added-XXX accompanying the patch file which lists
- the files that are newly created. The patch program has a problem with
- creating new directories, so we need to create them on advance. For each
- added-XXX file you find, execute from \x11
-
- xc\config\util\added added-XXX
-
-
- If there is no added-XXX file available, you can make one with the fol-
- lowing instructions:
-
- grep "\*\*\* xc/" patchfile >added-file
-
-
-
- Edit added-file with a text editor and remove the *** at the beginning
- and the time stamp at the end (search for a TAB and erase to the end of
- the line). You get a list of file paths, one in a line, which is the
- input to the added utility.
-
- 6. After that you can apply the patches in the right order. Usually this is
- done by a command
-
- patch -p -E <patchfile 2>&1 | tee patchlog
-
-
-
- from the \x11 directory. Be aware to use the right patch - OS/2 has a
- utility with the same name and different functionality. Don't use the
- recommended -s option, this makes patch quiet, and you won't see problems
- in the patchlog file. Use
-
- find \x11 -name *.rej -print
- find \x11 -name *# -print
-
-
-
- to find any rejects and unapplied patches (attention: yet another OS/2
- program with wrong functionality). Normally there shouldn't be any prob-
- lems of this kind, else you have made a mistake. Finally remove the orig-
- inal files with
-
- find \x11 -name *.orig -print -exec rm {} ;
-
-
-
-
-
-
-
-
- Notes on Rebuilding XFree86/OS2 from Scratch
-
-
-
- 7. Go to the xc/config/cf directory and edit the xf86site.def file to match
- your requirements (you probably don't want to compile all X servers).
- Certain changes must be set to the following values:
-
- o Disable if not already done any PC98 server; PC98 (Japanese XFree86)
- does not work yet. Porters from Japan are welcome!
-
- o #define WacomSupport NO #define ElographicsSupport
- NO Both options are not yet supported.
-
- o Tcl* and Tk* don't need to be set explicitly. Reasonable defaults
- are in the other config files, provided you have a complete
- XFree86/OS2 binary tree with the tcl/tk runtime support installed.
-
- o #define BuildDynamicLoading NO This does not work.
-
- 8. Go to the directory xc\util\compress and make compress.exe there. Install
- the program produced there in your path. I stumbled more than once on
- half-ported compress programs on OS/2 ftp servers that are defective
- w.r.t. reading and writing stdin/stdout. In some stage (font compres-
- sion) otherwise you will get a core dump of mkfontdir, because all com-
- pressed fonts are corrupt.
-
- 9. Set the environment variable X11ROOT to something different than it is;
- otherwise the installation process will overwrite your original
- XFree86/OS2 installation. If you have not set this variable, go back to
- the prefix section of this document: you have forgotten something.
-
- 10. Copy the file xc/config/util/buildos2.cmd into the xc directory. If this
- is a second or later attempt, you might need to copy the saved toplevel
- Makefile.os2 back to Makefile.
-
- 11. Execute this buildos2.cmd command in the xc directory; it will produce a
- logfile buildxc.log in this directory.
-
- 12. Go have a bucket of coffee, or better, buy new coffee - in Colombia! The
- compile will need between 2 and 20 hours, depending on your selections,
- and the horse power of your hardware.
-
- 13. When finished, view the logfile for errors, and fix the problems if there
- are some. I have managed to compile the whole system flawlessly, so there
- is at least one configuration that works.
-
- 14. Finally, from the xc dir, execute
-
- xmake install
- xmake install.man
-
-
- Well, you see, this was quite easy :-)
-
-
-
-
-
-
-
-
-
-
-
-
- Notes on Rebuilding XFree86/OS2 from Scratch
-
-
-
- Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/OS2note.sgml,v 3.4.2.2 1997/05/24 08:36:06 dawes Exp $
-
-
-
-
-
- $XConsortium: OS2note.sgml /main/1 1996/02/24 10:08:59 kaleb $
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Notes on Rebuilding XFree86/OS2 from Scratch
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CONTENTS
-
-
-
- 1. Preface .................................................................. 1
-
- 2. Tools required ........................................................... 1
-
- 3. Compiling and Installing ................................................. 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- i
-
-
-